package com.mxin.network.interceptor.encrypt;

import okhttp3.Request;
import okhttp3.RequestBody;

/**
 * Created by ：2020/7/29
 * author : Administrator
 *
 * 加解密接口
 *
 */
public interface IEncryptListener {

    /**
     * 是否对请求数据需要加密
     * @param url 请求地址
     * @return true : 加密 ， false ： 不加密
     */
    boolean isNeedEncrypt(String url);

    /**
     * 加密
     * @param data 未加密前的数据
     * @return  加密后的数据
     */
    String encryptData(String data);

    /**
     *  处理Get、Delete请求参数
     * @param data 加密前
     * @return 加密后
     */
    String encryptGetRequest(String data);

    /**
     * 处理Post、Put请求参数
     * @param requestBody 加密前
     * @return 加密后
     */
    RequestBody encryptPostRequest(RequestBody requestBody);

    /**
     *  处理加密后的请求内容 （比如在header中添加加密标识）
     * @param newRequest 加密后的请求
     */
    void handlerEncryptRequest(Request.Builder newRequest);

}
